package xj.model.uml;

public interface UMLModelConstants {

  public static final String ATTR_NAME = "name";

  public static final String ATTR_PACKAGE_NAME = "packageName";

  public static final String ATTR_DIAGRAM_TYPE = "type";

  public static final String ATTR_VISIBILITY = "visibility";

  public static final String ATTR_CHANGEABILITY = "changeability";

  public static final String ATTR_CONCURRENCY = "concurrency";

  public static final String ATTR_STATIC = "static";

  public static final String ATTR_ABSTRACT = "abstract";

  public static final String ATTR_QUERY = "query";

  public static final String ATTR_CONSTANT = "constant";

  public static final String ATTR_READONLY = "readonly";

  public static final String ATTR_TYPE = "type";

  public static final String ATTR_KIND = "kind";

  public static final String ATTR_LANG = "lang";

  public static final String ATTR_BODY = "body";

  public static final String ATTR_DIRECTION = "direction";

  public static final String ATTR_SUBTYPE = "subtype";

  public static final String ATTR_INIT_VALUE = "initValue";

  public static final String ATTR_VALUE = "value";

  public static final String ATTR_DEFAULT_VALUE = "defaultValue";

  public static final String ATTR_ASSOCIATION_TYPE = "type";

  public static final String ATTR_AGGREGATION = "aggregation";

  public static final String ATTR_SUPER = "SuperClass";

  public static final String ATTR_IS_INTERFACE = "interface";

  public static final String ATTR_IS_ABSTRACT = "abstract";

  public static final String ATTR_IS_ACTIVE = "active";

  public static final String ATTR_IS_ENUM = "enum";

  public static final String ATTR_IS_EXCEPTION = "exception";

  public static final String ATTR_IS_MIXIN = "mixin";

  public static final String ATTR_ROLENAME = "roleName";

  public static final String ATTR_MULTIPLICITY = "multiplicity";

  public static final String ATTR_NAVIGABILITY = "navigability";

  public static final String ATTR_ORDERED = "ordered";

  public static final String ATTR_UNIQUE = "unique";

  public static final String ATTR_ASSOCIATION_END_LEFT = "leftEnd";

  public static final String ATTR_ASSOCIATION_END_RIGHT = "rightEnd";

  public static final String ATTR_CLASS_NAME = "classname";

  public static final String ATTR_TERMINATE = "terminate";

  public static final String ATTR_TEXT = "Text";

  public static final String ATTR_CONSTRAINT = "Constraint";

  public static final String ATTR_COMMENT = "Comment";

  public static final String ATTR_EVENT = "Event";

  public static final String ATTR_GUARD = "Guard";

  public static final String ATTR_SUBMACHINE_NAME = "smname";

  public static final String ATTR_START = "start";

  public static final String ATTR_END = "end";

  public static final String ATTR_MESSAGE = "message";

  public static final String ATTR_CONDITION = "condition";

  public static final String ATTR_ACTION = "Action";

  public static final String ROLE_NOTE = "note";

  public static final String ROLE_CONSTRAINT = "constraint";

  public static final String ROLE_COMMENT = "comment";

  public static final String ROLE_DIAGRAM = "diagram";

  public static final String ROLE_PACKAGE = "package";

  public static final String ROLE_CLASS = "class";

  public static final String ROLE_SUPER = "super";

  public static final String ROLE_FEATURE = "feature";

  public static final String ROLE_FIELD = "field";

  public static final String ROLE_METHOD = "method";

  public static final String ROLE_ATTRIBUTE = "attribute";

  public static final String ROLE_OPERATION = "operation";

  public static final String ROLE_ACTION = "action";

  public static final String ROLE_SUPER_TYPE = "supertype";

  public static final String ROLE_PARAMETER = "parameter";

  public static final String ROLE_TEMPLATE = "template";

  public static final String ROLE_VALUE = "value";

  public static final String ROLE_DATATYPE = "datatype";

  public static final String ROLE_ASSOCIATION_CLASS = "associationClass";

  public static final String ROLE_USE_CASE = "usecase";

  public static final String ROLE_SYSTEM = "system";

  public static final String ROLE_ACTOR = "actor";

  public static final String ROLE_ENTRY_ACTION = "entryAction";

  public static final String ROLE_EXIT_ACTION = "exitAction";

  public static final String ROLE_DO_ACTION = "doAction";

  public static final String ROLE_STATE = "state";

  public static final String ROLE_INTERNAL_TRANSITION = "internalTransition";

  public static final String ROLE_TRANSITION = "transition";

  public static final String ROLE_EVENT = "event";

  public static final String ROLE_GUARD = "guard";

  public static final String ROLE_REGION = "region";

  public static final String ROLE_ACTIVITY_NODE = "node";

  public static final String ROLE_ACTIVITY_FLOW = "flow";

  public static final String ROLE_CLASS_REF = "classRef";

  public static final String ROLE_OBJECT_REF = "objectRef";

  public static final String ROLE_EXECUTION_OCCURANCE = "execution";

  public static final String ROLE_OBJECT = "object";

  public static final String ROLE_LIFE_LINE = "lifeline";

  public static final String ROLE_MESSAGE = "message";

  public static final String ROLE_SEQUENCE_NODE = "seqnode";

  public static final String[] UML_MODEL_CLASSES = { 
    "xj.model.uml.Action",
    "xj.model.uml.ActivityDiagram", 
    "xj.model.uml.ActivityFlow",
    "xj.model.uml.ActivityNode", 
    "xj.model.uml.Actor",
    "xj.model.uml.Attribute", 
    "xj.model.uml.BasicModelElement",
    "xj.model.uml.ClassDiagram", 
    "xj.model.uml.Classifier",
    "xj.model.uml.Comment", 
    "xj.model.uml.Constant", 
    "xj.model.uml.ConstrainedAssociationElement",
    "xj.model.uml.Constraint", 
    "xj.model.uml.DataType", 
    "xj.model.uml.Enumeration", 
    "xj.model.uml.Event", 
    "xj.model.uml.Expression", 
    "xj.model.uml.ExecutionOccurance",
    "xj.model.uml.Feature", 
    "xj.model.uml.HyperState",
    "xj.model.uml.InternalTransition", 
    "xj.model.uml.LifeLine", 
    "xj.model.uml.MessageNode",
    "xj.model.uml.NamedElement", 
    "xj.model.uml.Note",
    "xj.model.uml.Operation", 
    "xj.model.uml.OrthogonalState",
    "xj.model.uml.OrthogonalRegion", 
    "xj.model.uml.Parameter",
    "xj.model.uml.SequenceDiagram", 
    "xj.model.uml.SequenceNode",
    "xj.model.uml.StateDiagram", 
    "xj.model.uml.StateMachine",
    "xj.model.uml.State", 
    "xj.model.uml.Statement", 
    "xj.model.uml.SubmachineState",
    "xj.model.uml.SuperType",
    "xj.model.uml.TemplateArgument", 
    "xj.model.uml.TemplateParameter",
    "xj.model.uml.Transition", 
    "xj.model.uml.UMLAssociationEnd",
    "xj.model.uml.UMLAssociation", 
    "xj.model.uml.UMLClass",
    "xj.model.uml.UMLDiagram", 
    "xj.model.uml.UMLInterface",
    "xj.model.uml.UMLMessage", 
    "xj.model.uml.UMLModel",
    "xj.model.uml.UMLObject", 
    "xj.model.uml.UMLPackage",
    "xj.model.uml.UMLSystemBoundary", 
    "xj.model.uml.UMLSystem",
    "xj.model.uml.UseCaseDiagram", 
    "xj.model.uml.UseCase",
    "xj.model.uml.Value",

    "xj.meta.AssociationElement", 
    "xj.meta.ReferenceElement",
  };

  public static final String[][] UML_MODEL_ADDER_NAMES = {
    { "ActivityDiagram", "UMLDiagram" }, 
    { "ClassDiagram",    "UMLDiagram" },
    { "SequenceDiagram", "UMLDiagram" }, 
    { "StateDiagram",    "UMLDiagram" },
    { "UseCaseDiagram",  "UMLDiagram" },

    { "HyperState",       "State" }, 
    { "OrthogonalState",  "State" },
    { "StateMachine",     "State" }, 
    { "OrthogonalRegion", "Region" },

    { "UMLSystemBoundary", "System" },
  };


}
